package com.ktgj.hotel.service;

import java.util.List;
import com.ktgj.hotel.domain.common.HotelInfo;
import com.ktgj.hotel.domain.rooms.HotelGraphicRequest;
import com.ktgj.hotel.domain.rooms.HotelGraphicResponse;
import com.ktgj.hotel.domain.rooms.HotelHomeDetailInfo;
import com.ktgj.hotel.domain.rooms.HotelHomeFacilityInfo;

/**
 * 酒店详情Service接口
 * 
 * @author ruoyi
 * @date 2021-11-22
 */
public interface IHotelInfoService 
{
    /**
     * 查询酒店详情
     * 
     * @param id 酒店详情ID
     * @return 酒店详情
     */
    public HotelInfo selectHotelInfoById(Long id);

    /**
     * 查询酒店详情列表
     * 
     * @param hotelInfo 酒店详情
     * @return 酒店详情集合
     */
    public List<HotelInfo> selectHotelInfoList(HotelInfo hotelInfo);

    /**
     * 新增酒店详情
     * 
     * @param hotelInfo 酒店详情
     * @return 结果
     */
    public int insertHotelInfo(HotelInfo hotelInfo);

    /**
     * 修改酒店详情
     * 
     * @param hotelInfo 酒店详情
     * @return 结果
     */
    public int updateHotelInfo(HotelInfo hotelInfo);

    /**
     * 批量删除酒店详情
     * 
     * @param ids 需要删除的酒店详情ID
     * @return 结果
     */
    public int deleteHotelInfoByIds(Long[] ids);

    /**
     * 删除酒店详情信息
     * 
     * @param id 酒店详情ID
     * @return 结果
     */
    public int deleteHotelInfoById(Long id);

    /**
     * 酒店介绍(旧)
     * @param hotelId
     * @return
     */
    HotelHomeDetailInfo queryHotelDetailInfo(Long hotelId);

    /**
     * 设施服务
     * @param hotelId
     * @return
     */
    HotelHomeFacilityInfo queryHotelFacilityInfo(String hotelId) throws Exception;

    /**
     * 酒店房型页图片
     * @param request
     * @return
     */
    HotelGraphicResponse hotelGraphicIntroduction(HotelGraphicRequest request) throws Exception;
}
